package com.itheima.manager;

import com.itheima.common.R;
import com.itheima.domain.ProductAttributeCategory;
import com.itheima.service.IProductAttributeCategoryService;
import com.itheima.vo.PageBeanVo;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Component
public class PmsProductAttributeCategoryManager {
    @DubboReference
    IProductAttributeCategoryService productAttributeCategoryService;

    //分页获取所有商品属性分类
    public R<PageBeanVo> findByPage(Integer pageNum, Integer pageSize) {
        PageBeanVo pageBeanVo=productAttributeCategoryService.findByPage(pageNum,pageSize);
        return R.success(pageBeanVo);

    }

    //添加商品属性分类
    public R<String> saveAttributeCategory(ProductAttributeCategory productAttributeCategory) {
        productAttributeCategoryService.saveAttributeCategory(productAttributeCategory);
        return R.success("添加成功");
    }

    //删除单个商品属性分类
    public R<String> deleteAttributeCategory(Long id) {
        productAttributeCategoryService.deleteAttributeCategory(id);
        return R.success("删除成功");
    }

    //获取所有商品属性分类及其下属性
    public R<List<Map<String,Object>>> findAttrCateAndAttr() {
        List<Map<String,Object>> list=productAttributeCategoryService.findAttrCateAndAttr();
        return R.success(list);
    }

    //修改商品属性分类
    public R<String> updateAttrCate(ProductAttributeCategory productAttributeCategory) {
        productAttributeCategoryService.updateAttrCate(productAttributeCategory);
        return R.success("修改成功");
    }
    //获取单个商品属性分类信息
    public R<ProductAttributeCategory> findById(Long id) {
        ProductAttributeCategory productAttributeCategory=productAttributeCategoryService.findById(id);
        return R.success(productAttributeCategory);
    }
}
